package org.git.movie.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.git.movie.entity.VodSiteUrl;
import org.git.movie.form.VodSiteForm;
import org.git.movie.mapper.ext.VodSiteExtMapper;
import org.git.movie.mapper.ext.VodSiteUrlExtMapper;
import org.git.movie.service.IVodSiteService;
import org.git.movie.vo.PageDto;
import org.git.movie.vo.VodSiteDto;
import org.git.movie.vo.VodSiteUrlDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
 * @author sqyc
 */
@Service
public class VodSiteServiceImpl implements IVodSiteService {

    @Autowired
    private VodSiteExtMapper vodSiteExtMapper;

    @Autowired
    private VodSiteUrlExtMapper vodSiteUrlExtMapper;

    @Override
    public PageDto<VodSiteDto> findVodSitePage(VodSiteForm vodSiteForm, int pageNo, int pageSize) {

        try{
//            PageHelper.startPage(pageNo, pageSize, true);
            PageHelper.startPage(pageNo,pageSize);
            List<VodSiteDto> list = vodSiteExtMapper.findPage(vodSiteForm);

            //用PageInfo对结果进行包装
            PageInfo page = new PageInfo(list);
            if(list != null && list.size() >= 1){
                for(VodSiteDto vod : list){

                    List<VodSiteUrlDto> siteUrlList =  vodSiteUrlExtMapper.findBySiteId(vod.getId());
                    vod.setSiteUrls(siteUrlList);

                }
            }
            //自定义转换方法
            return   PageDto.transPageInfo(page);

        }finally {
            PageHelper.clearPage();
        }

    }
}
